package com.demo.enumdemo;

import java.util.EnumSet;

/**
 * allOf 将枚举中的全部内容设置到EnumSet中
 * of  创建一个包含枚举指定内容的EnumSet对象
 * copyOf   创建一个从指定Collection中指定的EnumSet
 * noneOf   创建一个可以接受指定类的空集合
 * complementOf()  创建一个不包含指定元素的集合
 * 
 * @author xiangty
 *
 */
enum ColorEnum2{
	RED, GREEN, BLUE
}
public class EnumSetDemo1 {
	public static void main(String[] args){
		allOf();
		System.out.println("--------------");
		of();
		System.out.println("--------------");
		noneOf();
		System.out.println("--------------");
		complementOf();
	}
	
	public static void allOf(){
		// 将枚举中的
		EnumSet<ColorEnum2> es = EnumSet.allOf(ColorEnum2.class);
		for(ColorEnum2 e : es){
			System.out.println(e);
		}
	}
	
	public static void of(){
		EnumSet<ColorEnum2> es = EnumSet.of(ColorEnum2.BLUE);
		for(ColorEnum2 e : es){
			System.out.println(e);
		}
	}
	
	public static void noneOf(){
		EnumSet<ColorEnum2> es = EnumSet.noneOf(ColorEnum2.class);
		es.add(ColorEnum2.BLUE);
		es.add(ColorEnum2.RED);
		
		for(ColorEnum2 e : es){
			System.out.println("---"+e);
		}
	}
	
	public static void complementOf(){
		EnumSet<ColorEnum2> esOld = EnumSet.noneOf(ColorEnum2.class);
		esOld.add(ColorEnum2.RED);
		esOld.add(ColorEnum2.BLUE);
		EnumSet<ColorEnum2> esNews = EnumSet.complementOf(esOld); //创建一个不包含指定元素的集合
		
		for(ColorEnum2 e : esNews){
			System.out.println(e);
		}
	}
	
}
